﻿/// <reference path="vs11.base.js" />
/***************
vs1.1框架dom节点强类型镜像,仅用于在编写js时,得到类型提示而用.不需要实际引用到具体页面
***************/
MyClass = vs11.dom.Style = function (args) {
	if (args == null) args = {}; var q = (this.Inheriting) ? args : {}; this.Inheriting = true;
	/*vs11.DomObject.apply(this, [q]);*/var $vs = $vs11, vs = vs11;
	var protected$ = q, public$ = this, v = private$ = {}, base = $vs.copyObject(q);

	//#region 属性
	//#region 背景
	public$.background = "";
	public$.backgroundAttachment = "";
	public$.backgroundColor = "";
	public$.backgroundImage = "";
	public$.backgroundPosition = "";
	public$.backgroundPositionX = "";
	public$.backgroundPositionY = "";
	public$.backgroundRepeat = "";
	//#endregion
	//#region 边框
	public$.border = "";
	public$.borderBottom = "";
	public$.borderBottomColor = "";
	public$.borderBottomStyle = "";
	public$.borderBottomWidth = "";
	public$.borderColor = "";
	public$.borderLeft = "";
	public$.borderLeftColor = "";
	public$.borderLeftStyle = "";
	public$.borderLeftWidth = "";
	public$.borderRight = "";
	public$.borderRightColor = "";
	public$.borderRightStyle = "";
	public$.borderRightWidth = "";
	public$.borderStyle = "";
	public$.borderTop = "";
	public$.borderTopColor = "";
	public$.borderTopStyle = "";
	public$.borderTopWidth = "";
	public$.borderWidth = "";
	//#endregion
	public$.bottom = "";
	public$.clear = "";
	public$.clip = "";
	public$.color = "";
	public$.cssText = "";
	public$.cursor = "";
	public$.direction = "";
	public$.display = "";
	public$.filter = "";
	//#region font
	public$.font = "";
	public$.fontFamily = "";
	public$.fontSize = "";
	public$.fontStyle = "";
	public$.fontVariant = "";
	public$.fontWeight = "";
	//#endregion
	public$.height = "";
	//#region layout
	public$.layoutGrid = "";
	public$.layoutGridChar = "";
	public$.layoutGridCharSpacing = "";
	public$.layoutGridLine = "";
	public$.layoutGridMode = "";
	public$.layoutGridType = "";
	//#endregion
	public$.left = "";
	public$.letterSpacing = "";
	public$.lineHeight = "";
	//#region listStyle
	public$.listStyle = "";
	public$.listStyleImage = "";
	public$.listStylePosition = "";
	public$.listStyleType = "";
	//#endregion
	//#region margin
	public$.margin = "";
	public$.marginBottom = "";
	public$.marginLeft = "";
	public$.marginRight = "";
	public$.marginTop = "";
	//#endregion
	public$.opacity = 1;
	public$.overflow = "";
	public$.overflowX = "";
	public$.overflowY = "";
	public$.pageBreakAfter = "";
	public$.pageBreakBefore = "";
	//#region pixel类样式
	public$.pixelBottom = "";
	public$.pixelHeight = "";
	public$.pixelLeft = "";
	public$.pixelRight = "";
	public$.pixelTop = "";
	public$.pixelWidth = "";
	//#endregion
	//#region pos类样式
	public$.posBottom = "";
	public$.posHeight = "";
	public$.position = "";
	public$.posLeft = "";
	public$.posRight = "";
	public$.posTop = "";
	public$.posWidth = "";
	//#endregion
	public$.right = "";
	public$.styleFloat = "";
	public$.tableLayout = "";
	//#region 文本
	public$.textAlign = "";
	public$.textDecoration = "";
	public$.textDecorationLineThrough = "";
	public$.textDecorationNone = "";
	public$.textDecorationOverline = "";
	public$.textDecorationUnderline = "";
	public$.textIndent = "";
	public$.textTransform = "";
	//#endregion
	public$.top = "";
	public$.unicodeBidi = "";
	public$.verticalAlign = "";
	public$.visibility = "";
	public$.width = "";
	public$.zIndex = "";
	//#endregion
}
MyClass.Demo = new MyClass;
$vs11.dom.Style = MyClass.Demo;

MyClass = vs11.dom.DomObject = function (args) {
	//#region 类型化,支持受保护的继承变量域
	if (args == null) args = {}; var q = (this.Inheriting) ? args : {}; this.Inheriting = true;
	var $vs = $vs11, vs = vs11;
	var protected$ = q, public$ = this, v = private$ = {}, base = $vs.copyObject(q);
	//#endregion
}

MyClass = vs11.dom.ElementNode = function (args) {
	//#region 类型化,支持受保护的继承变量域
	if (args == null) args = {}; var q = (this.Inheriting) ? args : {}; this.Inheriting = true;
	vs11.dom.DomObject.apply(this, [q]); var $vs = $vs11, vs = vs11;
	var protected$ = q, Me = public$ = this, v = private$ = {}, base = $vs.copyObject(q);
	//#endregion
	//#region 属性
	public$.EnumAlign = { center: "center", justify: "justify", left: "left", right: "right", Default: "left" };
	public$.accessKey = "";
	public$.align = public$.EnumAlign.Default;
	public$.canHaveChildren = true;
	public$.className = "";
	public$.clientHeight = -1;
	public$.clientLeft = -1;
	public$.clientTop = -1;
	public$.clientWidth = -1;
	public$.firstChild = Me;
	public$.id = "";
	public$.innerText = "";
	public$.innerHTML = "";
	public$.isTextEdit = false;
	public$.lastChild = Me;
	public$.nextSibling = Me;
	public$.nodeName = "";
	public$.nodeType = -1;
	public$.nodeValue = "";
	public$.noWrap = ""; //IE
	//#region offset
	public$.offsetHeight = -1;
	public$.offsetLeft = -1;
	public$.offsetParent = -1;
	public$.offsetTop = -1;
	public$.offsetWidth = -1;
	//#endregion
	public$.outerHTML = "";
	public$.outerText = "";
	public$.parentElement = Me;
	public$.parentNode = Me;
	public$.parentTextEdit = Me;
	public$.previousSibling = Me;
	public$.readyState = -1;
	//#region scroll
	public$.scrollHeight = -1;
	public$.scrollLeft = -1;
	public$.scrollTop = -1;
	public$.scrollWidth = -1;
	//#endregion
	public$.style = $vs11.dom.Style;
	public$.tabIndex = -1;
	public$.tagName = "";
	public$.title = "";

	public$.children = [];
	public$.childNodes = [];
	//#endregion
	//#region 事件类属性
	public$.onclick = null;
	public$.ondblclick = null;
	public$.onfocus = null;
	public$.onblur = null;
	public$.oncontextmenu = null;
	public$.onkeydown = null;
	public$.onkeyup = null;
	public$.onkeypress = null;
	public$.onmouseover = null;
	public$.onmouseout = null;
	public$.onmousedown = null;
	public$.onmouseup = null;
	//#endregion
	//#region 方法
	public$.appendChild = function (node) {
		///<summary>新增节点到内部最后</summary>
	}
	public$.applyElement = function (oNewElement, sWhere) {
		///<summary>新增节点到内或外</summary>
		///<param name="sWhere">枚举EnumApplyElementPosition, outside 默认 inside</param>
	}
	public$.blur = function () {
		///<summary>使之失去焦点</summary>
	}
	public$.click = function () {
		///<summary>使之被点击</summary>
	}
	public$.cloneNode = function (bCloneChildren) {
		///<summary>返回本节点的相同状态的新节点</summary>
		///<param name="bCloneChildren">是否克隆子节点,默认为false</param>
		return dom.Node;
	}
	public$.doScroll = function (sScrollAction) {
		///<summary>...</summary>
	}
	public$.attachEvent = function () {
		///<summary>...</summary>
	}
	public$.clearAttributes = function () {
		///<summary>...</summary>
	}
	public$.componentFromPoint = function () {
		///<summary>...</summary>
	}
	public$.contains = function () {
		///<summary>...</summary>
	}
	public$.getAdjacentText = function () {
		///<summary>...</summary>
	}
	public$.getAttribute = function () {
		///<summary>...</summary>
	}
	public$.getBoundingClientRect = function () {
		///<summary>...</summary>
	}
	public$.getClientRects = function () {
		///<summary>...</summary>
	}
	public$.getElementsByTagName = function (tagName) {
		///<summary>取所有为指定标签的子节点</summary>
		///<param name="tagName">标签名</param>
		return [];
	}
	public$.insertBefore = function (newNode, childNode) {
		///<summary>...</summary>
	}
	public$.removeChild = function () {
		///<summary>...</summary>
	}
	public$.removeNode = function () {
		///<summary>...</summary>
	}
	public$.replaceChild = function () {
		///<summary>...</summary>
	}
	public$.replaceNode = function () {
		///<summary>...</summary>
	}
	public$.scrollIntoView = function (alignToTop) {
		///<summary>滚动到可视区域</summary>
		///<param name="alignToTop">是否必然显示顶部,否则显示底部,默认为true</param>
	}
	public$.setAttribute = function () {
		///<summary>...</summary>
	}
	public$.setCapture = function () {
		///<summary>...</summary>
	}
	public$.swapNode = function (node) {
		///<summary>将当前节点node节点交换位置</summary>
		///<param name="node">要交换的节点</param>
		return dom.Node;
	}
	//#endregion
}
MyClass.Demo = new MyClass();
with ($vs11) {
	dom.Button = dom.Div = dom.Span = dom.Fieldset = dom.Legend = dom.P = dom.Pre
	 = dom.UL = dom.OL = dom.LI = dom.Node = MyClass.Demo;
}

MyClass = vs11.dom.A = function (args) {
	//#region 类型化,支持受保护的继承变量域
	if (args == null) args = {}; var q = (this.Inheriting) ? args : {}; this.Inheriting = true;
	vs11.dom.ElementNode.apply(this, [q]); var $vs = $vs11, vs = vs11;
	var protected$ = q, public$ = this, v = private$ = {}, base = $vs.copyObject(q);
	//#endregion
	public$.href = "";
	public$.target = "";
}
MyClass.Demo = new MyClass();
$vs11.dom.A = MyClass.Demo;

MyClass = vs11.dom.Form = function (args) {
	//#region 类型化,支持受保护的继承变量域
	if (args == null) args = {}; var q = (this.Inheriting) ? args : {}; this.Inheriting = true;
	vs11.dom.DomObject.apply(this, [q]); var $vs = $vs11, vs = vs11;
	var protected$ = q, public$ = this, v = private$ = {}, base = $vs.copyObject(q);
	//#endregion
	//#region 属性
	public$.EnumMethod = { Get: "get", Post: "post" };
	public$.EnumFormEncoding = { Default: "application/x-www-form-urlencoded", Data: "multipart/form-data" }
	public$.EnumTarget = { Blank: "_blank", Self: "_self", Parent: "_parent", Default: "" }
	public$.action = "";
	public$.method = public$.EnumMethod.Get;
	public$.encoding = public$.EnumFormEncoding.Default;
	public$.target = public$.EnumTarget.Self;
	//#endregion
	//#region 方法
	q.submit = function () {
		///<summary>提交表单</summary>
	}
	//#endregion
}
MyClass.Demo = new MyClass();
$vs11.dom.Form = MyClass.Demo;

MyClass = vs11.dom.Iframe = function (args) {
	//#region 类型化,支持受保护的继承变量域
	if (args == null) args = {}; var q = (this.Inheriting) ? args : {}; this.Inheriting = true;
	vs11.dom.ElementNode.apply(this, [q]); var $vs = $vs11, vs = vs11;
	var protected$ = q, public$ = this, v = private$ = {}, base = $vs.copyObject(q);
	//#endregion
	//#region 属性
	public$.name = "";
	public$.src = "";
	public$.frameBorder = 0;
	public$.marginHeight = -1;
	public$.marginWidth = -1;
	public$.scrolling = true;
	//#endregion
}
MyClass.Demo = new MyClass();
$vs11.dom.Iframe = MyClass.Demo;

MyClass = vs11.dom.Image = function (args) {
	//#region 类型化,支持受保护的继承变量域
	if (args == null) args = {}; var q = (this.Inheriting) ? args : {}; this.Inheriting = true;
	vs11.dom.ElementNode.apply(this, [q]); var $vs = $vs11, vs = vs11;
	var protected$ = q, public$ = this, v = private$ = {}, base = $vs.copyObject(q);
	//#endregion
	//#region 属性
	public$.src = "";
	public$.width = 0;
	public$.height = -1;
	//#endregion
}
MyClass.Demo = new MyClass();
$vs11.dom.Image = MyClass.Demo;

MyClass = vs11.dom.Label = function (args) {
	//#region 类型化,支持受保护的继承变量域
	if (args == null) args = {}; var q = (this.Inheriting) ? args : {}; this.Inheriting = true;
	vs11.dom.ElementNode.apply(this, [q]); var $vs = $vs11, vs = vs11;
	var protected$ = q, public$ = this, v = private$ = {}, base = $vs.copyObject(q);
	//#endregion
	//#region 属性
	public$.htmlFor = "";
	//#endregion
}
MyClass.Demo = new MyClass();
$vs11.dom.Label = MyClass.Demo;

MyClass = vs11.dom.Marquee = function (args) {
	//#region 类型化,支持受保护的继承变量域
	if (args == null) args = {}; var q = (this.Inheriting) ? args : {}; this.Inheriting = true;
	vs11.dom.ElementNode.apply(this, [q]); var $vs = $vs11, vs = vs11;
	var protected$ = q, public$ = this, v = private$ = {}, base = $vs.copyObject(q);
	//#endregion
	//#region 属性
	public$.hspace = 0;
	public$.loop = -1;
	public$.scrollAmount = -1;
	public$.scrollDelay = -1;
	public$.scrollHeight = -1;
	public$.scrollLeft = -1;
	public$.scrollTop = -1;
	public$.trueSpeed = -1;
	public$.vspace = 0;
	//#endregion
}
MyClass.Demo = new MyClass();
$vs11.dom.Marquee = MyClass.Demo;

MyClass = vs11.dom.TBody = function (args) {
	//#region 类型化,支持受保护的继承变量域
	if (args == null) args = {}; var q = (this.Inheriting) ? args : {}; this.Inheriting = true;
	vs11.dom.ElementNode.apply(this, [q]); var $vs = $vs11, vs = vs11;
	var protected$ = q, public$ = this, v = private$ = {}, base = $vs.copyObject(q);
	//#endregion
	//#region 字段
	var rowsCollection = [];
	rowsCollection.length = 0;
	rowsCollection.tags = function (tag) {
		///<summary>返回指定标签的子集合,可选为TR</summary>
		///<returns type="Array" />
	}
	var cellsCollection = [];
	cellsCollection.length = 0;
	cellsCollection.tags = function (tag) {
		///<summary>返回指定标签的子集合,可选为TR</summary>
		///<returns type="Array" />
	}
	//#endregion
	//#region 属性
	public$.rows = rowsCollection;
	public$.cells = cellsCollection;
	//#endregion
	//#region 方法
	public$.insertRow = function (rowIndex) {
		///<summary>插入新行</summary>
		///<param name="rowIndex">行号,如果为-1或null,则插入到最后一行</param>
		return dom.TR;
	}
	public$.deleteRow = function (rowIndex) {
		///<summary>删除指定行</summary>
		///<param name="rowIndex">行号,默认为-1,代表最后一行</param>
	}
	public$.moveRow = function (sourceIndex, targetIndex) {
		///<summary>冒泡式移动某行到目标行号
		///Rows between the iSource and iTarget positions in the rows collection 
		///are shifted based on the direction the row moves. 
		///</summary>
		///<param name="sourceIndex">位置行号<param>
		///<param name="targetIndex">目标行号<param>
		return dom.TR;
	}
	//#endregion
}
MyClass.Demo = new MyClass();
$vs11.dom.TBody = $vs11.dom.THead = $vs11.dom.TFoot = MyClass.Demo;

MyClass = vs11.dom.TR = function (args) {
	//#region 类型化,支持受保护的继承变量域
	if (args == null) args = {}; var q = (this.Inheriting) ? args : {}; this.Inheriting = true;
	vs11.dom.ElementNode.apply(this, [q]); var $vs = $vs11, vs = vs11;
	var protected$ = q, public$ = this, v = private$ = {}, base = $vs.copyObject(q);
	//#endregion
	//#region 属性
	public$.rowIndex = 0;
	public$.cells = [];
	//#endregion
	//#region 方法
	public$.insertCell = function (cellIndex) {
		///<summary>添加TD到行内</summary>
		///<param name="cellIndex">TD的行内的索引,默认为-1,加到行尾</param>
		return dom.TD;
	}
	public$.deleteCell = function (cellIndex) {
		///<summary>删除指定索引的TD</summary>
		///<param name="cellIndex">TD的行内的索引,默认为-1,指行尾位置</param>
	}
	//#endregion
}
MyClass.Demo = new MyClass();
$vs11.dom.TR = MyClass.Demo;

MyClass = vs11.dom.TD = function (args) {
	//#region 类型化,支持受保护的继承变量域
	if (args == null) args = {}; var q = (this.Inheriting) ? args : {}; this.Inheriting = true;
	vs11.dom.ElementNode.apply(this, [q]); var $vs = $vs11, vs = vs11;
	var protected$ = q, public$ = this, v = private$ = {}, base = $vs.copyObject(q);
	//#endregion
	//#region 属性
	public$.cellIndex = -1;
	public$.colSpan = 1;
	public$.rowSpan = 1;
	public$.vAlign = "";
	//#endregion
}
MyClass.Demo = new MyClass();
$vs11.dom.TD = MyClass.Demo;

MyClass = vs11.dom.Table = function (args) {
	//#region 类型化,支持受保护的继承变量域
	if (args == null) args = {}; var q = (this.Inheriting) ? args : {}; this.Inheriting = true;
	vs11.dom.ElementNode.apply(this, [q]); var $vs = $vs11, vs = vs11;
	var protected$ = q, public$ = this, v = private$ = {}, base = $vs.copyObject(q);
	//#endregion
	//#region 属性
	public$.EnumTableFrame = { Void: "void", above: "above", below: "below", border: "border", box: "box", hsides: "hsides"
        , lhs: "lhs", rhs: "rhs", vsides: "vsides", Default: "void"
	};
	public$.cols = -1;
	public$.background = "";
	public$.bgColor = "";
	public$.border = -1;
	public$.cellPadding = -1;
	public$.cellSpacing = -1;
	public$.frame = public$.EnumTableFrame.Default;
	//#endregion
	//#region 方法
	public$.createCaption = function () {
		///<returns type="vs11.dom.Node.Type"></returns>
	}
	public$.createTFoot = function () {
		///<returns type="vs11.dom.TFoot.Type"></returns>
	}
	public$.createTHead = function () {
		///<returns type="vs11.dom.THead.Type"></returns>
	}
	public$.deleteCaption = function () {
	}
	//#endregion
}
MyClass.Demo = new MyClass();
$vs11.dom.Table = MyClass.Demo;

MyClass = vs11.dom.Input = function (args) {
	//#region 类型化,支持受保护的继承变量域
	if (args == null) args = {}; var q = (this.Inheriting) ? args : {}; this.Inheriting = true;
	vs11.dom.ElementNode.apply(this, [q]); var $vs = $vs11, vs = vs11;
	var protected$ = q, public$ = this, v = private$ = {}, base = $vs.copyObject(q);
	//#endregion
	//#region 属性
	public$.value = "";
	public$.readOnly = false;
	public$.size = -1;
	public$.name = "";
	public$.maxLength = "";
	public$.disabled = false;
	public$.defaultValue = "";
	public$.autocomplete = false;
	public$.form = $vs11.dom.Form;
	//#endregion
	//#region 方法
	public$.select = function () {
		///<summary>高亮输入区内容</summary>
	}
	//#endregion
}
MyClass.Demo = new MyClass();
$vs11.dom.Input = MyClass.Demo;

MyClass = vs11.dom.CheckInput = function (args) {
	//#region 类型化,支持受保护的继承变量域
	if (args == null) args = {}; var q = (this.Inheriting) ? args : {}; this.Inheriting = true;
	vs11.dom.Input.apply(this, [q]); var $vs = $vs11, vs = vs11;
	var protected$ = q, public$ = this, v = private$ = {}, base = $vs.copyObject(q);
	//#endregion
	//#region 属性
	public$.checked = false;
	//#endregion
}
MyClass.Demo = new MyClass();
$vs11.dom.CheckInput = MyClass.Demo;


MyClass = vs11.dom.ImageInput = function (args) {
	//#region 类型化,支持受保护的继承变量域
	if (args == null) args = {}; var q = (this.Inheriting) ? args : {}; this.Inheriting = true;
	vs11.dom.Input.apply(this, [q]); var $vs = $vs11, vs = vs11;
	var protected$ = q, public$ = this, v = private$ = {}, base = $vs.copyObject(q);
	//#endregion
	//#region 属性
	public$.src = "";
	//#endregion
}
MyClass.Demo = new MyClass();
$vs11.dom.ImageInput = MyClass.Demo;

MyClass = vs11.dom.Select = function (args) {
	//#region 类型化,支持受保护的继承变量域
	if (args == null) args = {}; var q = (this.Inheriting) ? args : {}; this.Inheriting = true;
	vs11.dom.Input.apply(this, [q]); var $vs = $vs11, vs = vs11;
	var protected$ = q, public$ = this, v = private$ = {}, base = $vs.copyObject(q);
	//#endregion
	//#region 字段
	var optionCollection = [];
	optionCollection.add = function (opt) {
		/// <summary>新增下拉选项</summary>
		/// <param name="opt" type="dom.Option">要增加的选项</param>
	}
	//#endregion
	//#region 属性
	public$.length = -1;
	public$.multiple = false;
	public$.selectedIndex = -1;
	public$.options = optionCollection;
	//#endregion
}
MyClass.Demo = new MyClass();
$vs11.dom.Select = MyClass.Demo;

MyClass = vs11.dom.Option = function (args) {
	//#region 类型化,支持受保护的继承变量域
	if (args == null) args = {}; var q = (this.Inheriting) ? args : {}; this.Inheriting = true;
	vs11.dom.ElementNode.apply(this, [q]); var $vs = $vs11, vs = vs11;
	var protected$ = q, public$ = this, v = private$ = {}, base = $vs.copyObject(q);
	//#endregion
	//#region 属性
	public$.selected = false;
	public$.text = "";
	public$.value = "";
	//#endregion
}
MyClass.Demo = new MyClass();
$vs11.dom.Option = MyClass.Demo;

MyClass = vs11.dom.Textarea = function (args) {
	//#region 类型化,支持受保护的继承变量域
	if (args == null) args = {}; var q = (this.Inheriting) ? args : {}; this.Inheriting = true;
	vs11.dom.Input.apply(this, [q]); var $vs = $vs11, vs = vs11;
	var protected$ = q, public$ = this, v = private$ = {}, base = $vs.copyObject(q);
	//#endregion
	//#region 属性
	public$.EnumTextareaWrap = { soft: "soft", hard: "hard", off: "off", Default: "soft" };
	public$.cols = -1;
	public$.wrap = public$.EnumTextareaWrap.Default;
	//#endregion
}
MyClass.Demo = new MyClass();
$vs11.dom.Textarea = MyClass.Demo;

//#region 事件枚举
$vs11.dom.Events = ["onabort", "onafterprint", "onafterupdate", "onbeforecopy", "onbeforecut", "onbeforeeditfocus"
    , "onbeforepaste", "onbeforeprint", "onbeforeunload", "onbeforeupdate", "onblur", "onbounce"
    , "oncellchange", "onchange", "onclick", "oncontextmenu", "oncopy", "oncut"
    , "ondataavailable", "ondatasetchanged", "ondatasetcomplete", "ondblclick", "ondrag", "ondragend"
    , "ondragenter", "ondragleave", "ondragover", "ondragstart", "ondrop", "onerror"
    , "onerrorupdate", "onfilterchange", "onfinish", "onfocus", "onhelp", "onkeydown"
    , "onkeypress", "onkeyup", "onload", "onlosecapture", "onmousedown", "onmousemove"
    , "onmouseout", "onmouseover", "onmouseup", "onpaste", "onpropertychange", "onreadystatechange"
    , "onreset", "onresize", "onrowenter", "onrowexit", "onrowsdelete", "onrowsinserted"
    , "onscroll", "onselect", "onselectstart", "onstart", "onstop", "onsubmit", "onunload"]
for (var domEventIndex = 0, domEventCount = dom.Events.length; domEventIndex < domEventCount; domEventIndex++) {
	var eventName = dom.Events[domEventIndex]; dom.Events[eventName] = eventName.substring(2);
}
//#endregion